package org.commons.communication;

import java.net.InetSocketAddress;
import java.util.ArrayList;


public class GossipPacket {
	private Packet p;
	// ArrayList di indirizzi destinatari
	private ArrayList<InetSocketAddress> recipients;
	

	/**
	 *  Il costruttore GossipPacket contiene i seguenti parametri:
	 *  @param p pacchetto
	 *  @param recipients ArrayList contenente gli indirizzi dei destinatari
	 */
	public GossipPacket(Packet p, ArrayList<InetSocketAddress> recipients) {
		this.p = p;
		this.recipients = recipients;
	}

	/**
	 *  La funzione getPacket() ritorna il pacchetto p
	 *  
	 *  @return Packet
	 *
	 */
	public Packet getPacket() {
		return p;
	}
	
	/**
	 *  La funzione setPacket() consente di impostare il tipo di pacchetto 
	 *  
	 *  @param p pacchetto
	 */
	public void setPacket(Packet p) {
		this.p = p;
	}
	
	/**
	 *  La funzione getRecipients() ritorna un arrayList contenente la lista degli indirizzi destinatari
	 *  
	 *  @return  ArrayList<InetSocketAddress> 
	 *
	 */
	public ArrayList<InetSocketAddress> getRecipients() {
		return recipients;
	}
	
	/**
	 *  La funzione setRecipients() consente di impostare la lista degli indirizzi destinatari
	 *  
	 *  @param recipients arrayList di indirizzi destinatari
	 *
	 */
	public void setRecipients(ArrayList<InetSocketAddress> recipients) {
		this.recipients = recipients;
	}
	
	@Override
	public String toString() {
		return p.toString() + recipients.toString();
	}
	
}
